<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>fplot</title>
<style type="text/css">
	body {background-color: white; color: black; font-family:sans-serif; font-size:medium;}
	a:link {color: #3300ff;}
	a:visited {color: #663399;}
	a:hover {color:#0099ff;}
	a:active {color: #0066cc;}
	a.button {text-decoration:none;}
	
	table.nav  {background-color: #dbddff;}
	table.body {margin-top:2ex; margin-bottom:2ex;}
	table.programlistingindent {margin-left:32px;}
	
	img { margin-bottom:0px; margin-top:0px;}
	tt {margin-left:0.5em; margin-right:0.5em; font-weight:lighter;}
	
	p {margin-top:0ex;}
	p.synopsis {margin-left:32px;}
	p.programlistingindent {margin-left:32px;}
	p.citetitle {margin-left:2em;}
	
	ul ul {list-style-type:square;}
	ul li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	ol li p {margin-top:0ex; margin-bottom:.5ex; padding:0}
	
	h1.reftitle {color:#a90000;}
	h1.reftitle {font-size:3.7ex; margin-top:0; margin-bottom:0; font-weight:bold}
	h1.title {color:black; font-size:4ex; margin-top:1ex; font-weight:bold}
	h2.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:3ex}
	h3.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h4.title {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex}
	h2 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2.5ex}
	h3 {color:#bd0000; margin-top:1ex; margin-bottom:.9ex; font-weight:bold; font-size:2ex} 
	
	pre.programlisting {margin-left:32px;}
	pre.synopsis {margin-left:32px;}
	
	
	.categorytitle {margin-top:8px; padding-top:0px;}
	.categorylist {background-color: #e1e6f2;}
 	</style>
</head>
<body>
<a name="top_of_page"></a><p style="font-size:1px;"></p>
<h1 class="reftitle">fplot</h1>
<h2>Purpose</h2>
<p>Plot single function over the polyhedron or array of polyhedra.</p>
<h2>Syntax</h2>
<pre class="synopsis">h = P.fplot()</pre>
<pre class="synopsis">h = P.fplot('name', 'Prop1', value1, 'Prop2', value2)</pre>
<pre class="synopsis">h = fplot(P, 'name', 'Prop1', value1, 'Prop2', value2)</pre>
<h2>Description</h2>
<p></p>
        Plot single function over a polyhedron or array of polyhedra. If there are more functions, then <tt>name</tt> indicates
        the string under which the function is attached to a set. 
        If the function is vector valued, i.e. its range is greater than 1, 
        than the first element of the function value is plotted by default. For vector valued functions
        use the <tt>position</tt> property if you want a different element of the function value to plot.

        Figure properties, such as color, line width, etc, can be specified with "Property" - "Value" pairs. 
	<h2>Input Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody>
<tr valign="top">
<td><tt>Polyhedron</tt></td>
<td>
<p></p>Polyhedron in any format.<p>
	    		Class: <tt>Polyhedron</tt></p>
</td>
</tr>
<tr valign="top">
<td><tt>name</tt></td>
<td>
<p></p>If there are more functions associated to the polyhedron, the <tt>name</tt> indicates the 
        function name. By default, only the first function is plotted.
        Functions can be accessed by referring to <tt>Func</tt> property.<p>
	    		Class: <tt>char</tt></p>
<p>
	    		Default: 1</p>
</td>
</tr>
<tr valign="top">
<td><tt>dim</tt></td>
<td>
<p></p>For vector valued functions, the <tt>dim</tt> indicates which element of the vector to plot.<p>
	    		Class: <tt>double</tt></p>
<p>
	    		Default: 1</p>
</td>
</tr>
<tr valign="top">
<td><tt>Prop1</tt></td>
<td>
<p></p>Specification of figure properties.<p>
	    		Class: <tt>char</tt><p>Allowed values:</p><ul>
<li>
<tt>position</tt><p></p>For vector valued functions, the <tt>position</tt> indicates which element of the function value to plot.</li>
<li>
<tt>Color</tt><p></p>The color of the plot specified by real RGB vector or a string name of the color (e.g. 'gray').</li>
<li>
<tt>Wire</tt><p></p>Highlight the edges of the set. Default is false.</li>
<li>
<tt>LineStyle</tt><p></p>Specify the type of the line to plot edges of the set. Accepted values are '-',':','-.','--', and'none'.</li>
<li>
<tt>LineWidth</tt><p></p>Specify the width of the line. Default is 1.</li>
<li>
<tt>Alpha</tt><p></p>Transparency of the color. The value must be inside [0,1] interval. Default is 1.</li>
<li>
<tt>Contour</tt><p></p>Add contour graph. Default is false.</li>
<li>
<tt>ContourGrid</tt><p></p>With how many grid point to do the contour graph. Default is 30.</li>
<li>
<tt>show_set</tt><p></p>Plot the polyhedron with the function. Default is false.</li>
<li>
<tt>showgrid</tt><p></p>Show the grid inside the set. Default is false.</li>
<li>
<tt>Grid</tt><p></p>With how many gridpoints to grid the polyhedron. Default is 20.</li>
<li>
<tt>ColorMap</tt><p></p>Color map given either as a M-by-3 matrix, or as a string. Default is 'mpt'.
                                            Other available options are 'hsv', 'hot', 'gray', 'lightgray', 'bone', 'copper', 
                                            'pink', 'white', 'flag', 'lines', 'colorcube','vga', 'jet', 'prism', 'cool',
                                            'autumn', 'spring', 'winter', 'summer'.
                                            </li>
<li>
<tt>ColorOrder</tt><p></p>Either 'fixed' for fixed ordering of colors, or 'random' for a random order. Default is 'fixed'.</li>
</ul></p>
</td>
</tr>
<tr valign="top">
<td><tt>value1</tt></td>
<td>
<p></p>Assigns value to <tt>Prop1</tt>.</td>
</tr>
</tbody>
</table>
<h2>Output Arguments</h2>
<table cellspacing="0" class="body" cellpadding="4" border="0" width="100%">
<colgroup>
<col width="31%">
<col width="69%">
</colgroup>
<tbody><tr valign="top">
<td><tt>h</tt></td>
<td>
<p></p>Handle related to graphics object.<p>
	    		Class: <tt>handle</tt></p>
</td>
</tr></tbody>
</table>
<h2>Example(s)</h2>
<h3>Example 
				1</h3> Plot one function over one dimensional polyhedron. The set is an interval [0, 1]<pre class="programlisting"> P = Polyhedron('lb',0,'ub',1); </pre>
<pre class="programlisting"></pre> Assign a quadratic function <img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot1.png"> under name "f" to it <pre class="programlisting"> Q = QuadFunction(1,0,1); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> P.addFunction(Q,'f'); </pre>
<pre class="programlisting"></pre> Plot the function "f" with the polyhedron in dark olive green color.<pre class="programlisting"> P.fplot('f','show_set',true,'Color','darkolivegreen','LineWidth',3)</pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot_img_1.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot_img_1.png" width="60%"></p>
<h3>Example 
				2</h3> We have two linear functions "friction", "gain" over one polyhedron. Construct the functions. The first function maps from <img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot2.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot2.png">.<pre class="programlisting"> L1 = AffFunction([3 -1],2) </pre>
<pre class="programlisting">Affine Function: R^2 -&gt; R^1
</pre> The second function is vector valued because it maps from <img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot3.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot3.png">.<pre class="programlisting"> L2 = AffFunction([1 0; -1 -2], [0.7;0.1]) </pre>
<pre class="programlisting">Affine Function: R^2 -&gt; R^2
</pre> Add functions to the set with names "friction" and "gain". <pre class="programlisting"> S = ExamplePoly.randVrep; </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> S.addFunction(L1,'friction'); </pre>
<pre class="programlisting"></pre>
<pre class="programlisting"> S.addFunction(L2,'gain'); </pre>
<pre class="programlisting"></pre> Plot first elements from both functions<pre class="programlisting"> S.fplot('friction','color','b'); hold on; S.fplot('gain','color','m'); hold off </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot_img_2.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot_img_2.png" width="60%"></p> Plot the second element of the vector valued function "gain" over the wired polyhedron.<pre class="programlisting"> S.fplot('gain','position',2,'show_set',true,'wire',true); </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot_img_3.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot_img_3.png" width="60%"></p>
<h3>Example 
				3</h3> Create a triangle from three points. <pre class="programlisting"> T = Polyhedron([0,0;4,1;1,3]); </pre>
<pre class="programlisting"></pre> Attach a quadratic function "energy" over the set <tt>T</tt>. <pre class="programlisting"> T.addFunction(QuadFunction(0.5*eye(2),[-1, 0.6]),'energy'); </pre>
<pre class="programlisting"></pre> Plot the function over the set and show grid <pre class="programlisting"> T.fplot('showgrid',true,'wire',true,'linewidth',3,'show_set',true,'color','lightsteelblue'); </pre>
<pre class="programlisting"></pre>
<p class="programlistingindent"><img src="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot_img_4.png" alt="../../../../../../fig/mpt/modules/geometry/sets/@Polyhedron/fplot_img_4.png" width="60%"></p>
<h2>See Also</h2>
<a href="../@ConvexSet/plot.html">plot</a><p></p>
<table class="nav" summary="Navigation aid" border="0" width="100%" cellpadding="0" cellspacing="0"><tr valign="top">
<td align="left" width="20">
<a href="shoot.html" class="button">&#9664;</a>  </td>
<td align="left">shoot</td>
<td>  </td>
<td align="right">polyhedron</td>
<td align="right" width="20"><a href="polyhedron.html" class="button">&#9654;</a></td>
</tr></table>
<br><p>©  <b>2010-2013</b>     Martin Herceg: ETH Zurich,    <a href="mailto:herceg@control.ee.ethz.ch">herceg@control.ee.ethz.ch</a></p>
<p>©  <b>2003-2013</b>     Michal Kvasnica: STU Bratislava,    <a href="mailto:michal.kvasnica@stuba.sk">michal.kvasnica@stuba.sk</a></p>
</body>
</html>
